package com.library.management.service.token;

public interface TokenService {
    
    /**
     * 存储token到Redis
     * @param username 用户名
     * @param token JWT token
     * @param expiration 过期时间（秒）
     */
    void storeToken(String username, String token, long expiration);
    
    /**
     * 从Redis获取token
     * @param username 用户名
     * @return token，如果不存在返回null
     */
    String getToken(String username);
    
    /**
     * 验证token是否有效
     * @param username 用户名
     * @param token JWT token
     * @return 是否有效
     */
    boolean validateToken(String username, String token);
    
    /**
     * 删除token
     * @param username 用户名
     */
    void deleteToken(String username);
    
    /**
     * 刷新token过期时间
     * @param username 用户名
     * @param expiration 新的过期时间（秒）
     */
    void refreshTokenExpiration(String username, long expiration);
} 

